package com.bzkj.basicinfo.mapper.inventory;

import com.bzkj.basicinfo.domain.inventory.InventoryChangeRecord;
import com.bzkj.basicinfo.domain.inventory.dto.InventoryChangeQueryDto;
import com.bzkj.basicinfo.domain.inventory.vo.DrugSummaryVo;
import com.bzkj.basicinfo.domain.inventory.vo.HuoweiSummaryVo;

import java.util.List;

/**
 * 库存变更记录Mapper接口
 * 
 * @author system
 * @date 2025-08-05
 */
public interface InventoryChangeMapper {
    
    /**
     * 查询货位汇总信息
     * 
     * @param queryDto 查询条件
     * @return 货位汇总信息列表
     */
    List<HuoweiSummaryVo> selectHuoweiSummary(InventoryChangeQueryDto queryDto);
    
    /**
     * 查询指定货位下的商品汇总信息
     * 
     * @param queryDto 查询条件
     * @return 商品汇总信息列表
     */
    List<DrugSummaryVo> selectDrugSummary(InventoryChangeQueryDto queryDto);
    
    /**
     * 查询库存变更记录详情
     * 
     * @param queryDto 查询条件
     * @return 库存变更记录列表
     */
    List<InventoryChangeRecord> selectInventoryChangeList(InventoryChangeQueryDto queryDto);
    
    /**
     * 根据spid、hw、pihao查询库存变更记录
     * 
     * @param drugId 药品ID
     * @param huoweiId 货位ID
     * @param drugBatchNo 药品批号
     * @return 库存变更记录列表
     */
    List<InventoryChangeRecord> selectByDrugAndLocation(String drugId, String huoweiId, String drugBatchNo);
}
